package TestLocalInner;

/**
 * 基础版本
 */
public class TestLocalInner {
    public static void main(String[] args) {
//外部类当中的实例方法执行
        Outer outer = new Outer();
            outer.m1();
    }
}
class Outer{
    int a =10;
    //外部类实例方法
    public void m1(){
   /*final*/     int b =20;//局部变量
  //      b=88;//赋值
        System.out.println(b);
        class Inner{//局部内部类
            int c =30;
            public void m2(){
                System.out.println(Outer.this.a);//访问外部类的实例成员
                System.out.println(this.c);//访问内部类的实例成员
                System.out.println("Inner m2()");
//                b=30;//必须是final修饰的常量
//                System.out.println(b);//局部内部类访问外部类的局部变量,必须要final,jdk8自动添加
            }
        }
        //局部内部类的实例方法
     Inner in=   new Inner();
        System.out.println(in.c);
        in.m2();
    }

}
//30
//10
 //   30
//Inner m2()